package controllers

import (
	"beeblog/models"

	"github.com/astaxie/beego"
)

// CategoryController 分类控制器
type CategoryController struct {
	beego.Controller
}

// Get 分类控制器的get请求处理
func (cateCtl *CategoryController) Get() {
	input := cateCtl.Input()
	op := input.Get("op")
	switch op {
	case "add":
		name := input.Get("name")
		if len(name) == 0 {
			break
		}
		err := models.AddCategory(name)
		if err != nil {
			beego.Error(err)
		}
		cateCtl.Redirect("/category", 301)
		return
	case "del":
		id := input.Get("id")
		if len(id) == 0 {
			break
		}

		models.DelCategory(id)
		cateCtl.Redirect("/category", 301)
		return
	}

	cateCtl.Data["IsCategory"] = true
	cateCtl.Data["IsLogin"] = checkAccount(cateCtl.Ctx)
	var err error
	cateCtl.Data["Categories"], err = models.GetAllCategories()
	if err != nil {
		beego.Error(err)
	}
	cateCtl.TplName = "category.html"
}

// Post 分类控制器的post请求处理
func (cateCtl *CategoryController) Post() {
	cateCtl.Redirect("/category", 301)
	return
}
